// const res = require('express/lib/response');
const dao= require('../../dao/daoenter.js');
const result= require('../../util/result/result.js');

const model  = require('../../dao/model/model');




/* 做题 */
const doitem =async (req,res)=>{
	/* 
	前端参数
	userid  用户id  id
	tittleid  题目id  id
	professionid  职业id  id
	kemuid  科目id  id
	pointid  知识点id  id
	userSele  用户选项  0-未选 1-A 2-B 3-C 4-D   
	userIsr   用户是否作对  0-未选  1-做对  2-做错
	*/

	/* 把用户做题结果封装起来 */
	let gg={}
	gg.userSele=req.body.userSele
	gg.userIsr=req.body.userIsr
	gg.time=new Date().getTime()

	/* 把传入数据库的数据封装 */
	let obj={}
	obj.userid=req.body.userid
	obj.tittleid=req.body.tittleid
	obj.professionid=req.body.professionid
	obj.kemuid=req.body.kemuid
	obj.pointid=req.body.pointid
	




	/* 生成模型对象 */
	let aa=new  dao.daodoitem(model.modeldoitem)

	/* 先查询用户有没有做过对应题目，没有则新增，有则往记录里添加做题记录 */
	let cc=await  aa.findUserTittle(req.body.userid,req.body.tittleid)
	/* 如果有返回true，就有记录，则往记录里添加做题结果 */
	if(cc){
		//如果做过，就把做题记录取出来，把这次做的结果，添加进去，再更新一次
		//把新做的记录添加进去，
		cc[0].dolog.push(gg)
		let xx=await aa.updatebyid(cc[0]._id,cc[0])

		if(xx){
			res.send(result.result(true))
		}else{
			res.send(result.result(false))
		}	

	} else {
		//如果没有，则添加
		//把做题记录封装传入
		let arr=[]
		arr.push(gg)
		obj.dolog=arr

		//保存
		let dd=await aa.add(obj)

		if(dd){
			res.send(result.result(true))
		}else{
			res.send(result.result(false))
		}
	}





}


/* 用户查询自己做的题目 */
async function myDone(req,res){

	/* 前端参数
	userid  用户id  id
	*/

		/* 生成模型对象 */
		let bb=new  dao.daodoitem(model.modeldoitem)

		let hh=await bb.finduserDo(req.body.userid)

		if(hh){
			res.send(result.result(true,hh))
		}else{
			res.send(result.result(false))
		}

	



	

	// if(!rs||rs===null||rs==={}||rs===[]){
	// 	res.send({"status":"0",res:rs,desc:"做题结果查询失败"})		
	// }else{
	// 	res.send({"status":"1",res:rs,desc:"做题结果查询成功"})
	// }

	
}








module.exports={
	doitem,myDone
}
